Abstract Interface Types in GNAT: Conversions, Discriminants, and C++

نویسندگان

  • Javier Miranda
  • Edmond Schonberg
چکیده

Interface Types in GNAT: Conversions, Discriminants, and C++ Javier Miranda1 and Edmond Schonberg2 1 [email protected] Applied Microelectronics Research Institute University of Las Palmas de Gran Canaria Spain and AdaCore 2 [email protected] AdaCore 104 Fifth Avenue, 15th floor New York, NY 10011 Abstract. Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees. Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Implementation of Ada 2005 Interface Types in the GNAT Compiler

One of the most important object-oriented features of the new revision of the Ada Programming Language is the introduction of Abstract Interfaces to provide a form of multiple inheritance. Ada 2005 Abstract Interface Types are based on Java interfaces, and as such support inheritance of operation specifications, rather than the general complexity of inheritance of implementations as in full mul...

متن کامل

ASIS for GNAT: From the Prototype to the Full Implementation

This article is about the implementation of the Ada Semantic Interface Specification (ASIS) for the GNAT Ada 95 compilation system (ASIS-forGNAT). It discusses implementation problems and their solutions. It explains the interaction of ASIS-for-GNAT with GNAT and its internal data structures. Finally, it describes the current state of ASIS-for-GNAT.

متن کامل

Gforth’s libcc C Function Call Interface

A major problem in our earlier proposal for a C interface was that a part of the interface was not portable between platforms. The libcc interface solves this problem by using a C compiler and its .h-files. The .h-files contain knowledge about the specific platform, and the C compiler automatically inserts the necessary conversions between Forth and C types. In this paper we describe the libcc ...

متن کامل

Features of the Gnu Ada Runtime LibraryDraftABSTRACTThe

The GNu Ada Runtime Library (GNARL) is being developed to support Ada 9X tasking for the Gnu NYU Ada Translator (GNAT). Together, they form a portable, freely distributable Ada 9X translation system. GNARL and GNAT communicate through a well-deened procedural interface, facilitating their independent development. Among the design goals of this translation system are portability, interoperabilit...

متن کامل

Implementing the Distributed Features of Ada 9x with Pvm

This extended abstract describes our experience in implementing the distributed features of Ada 9X in the GNAT compiler 7], a free Ada9X compiler which is part of the GCC compiler system. As members of the GNAT team, we have been working on the semantics of the distribution model for the language and have proposed a general implementation model. We have used PVM as a prototyping tool to validat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006